Apparatus and method for optimally recording geographical position data

ABSTRACT

The present invention relates to an apparatus and method for optimally recording or transmitting positional data and events of an object, said apparatus including input means to continuously provide positional data to a microprocessor and a memory device to store selected positional data wherein the microprocessor is programmed to compares new positional data from said input means to previously recorded log of positional data and creates a new log if the new positional data differs from the previously recorded log in accordance with pre-determined parameters.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to a method and apparatus for optimally recordingor transmitting geographical position and events. In particular thepresent invention provides apparatus to determine position, time andspeed of an object such as a vehicle and log data in accordance withchanges in pre-determined parameters.

2. Description of the Prior Art

Recording or transmitting the position (latitude, longitude and possiblyaltitude) and events that occur for an object is a useful exercise inmany scenarios in business. There are many examples of systems thattoday record and or transmit positional data, but they all suffer fromthe same problems. They do not correctly choose the positions that areto be stored or transmitted, so as to maximize the level of usefuldetail on a map but at the same time minimize the number of actualpositions used to do this. Many systems currently base their logging onan interval (eg. every 60 seconds) or a distance (eg. every 200 m). Whenlooking at this data on a map, very often these points don't show anynew useful additional information or, which is worse they miss out asignificant event like a turn or a big drop in speed.

The present invention is used to optimize exactly when these pieces ofinformation are recorded or transmitted. This then minimizes the memoryrequirements if these points are stored, or it minimizes time or cost ifthe information is transmitted. In addition, the usefulness of theinformation is maximized by making sure that any significant events arecaught, like turning a corner or a large change in speed.

SUMMARY OF THE INVENTION

It is an object of the invention to provide a method to optimize exactlywhen positional data is recorded or transmitted to minimize the memoryrequirements if the data is stored, or minimize time or cost if the datais transmitted.

It is a further object of the invention to provide a method to optimizeexactly when positional data is recorded or transmitted to ensure thatany significant events are captured, like a change in direction arisingfrom turning a corner or a large change in speed.

It is a further object of the invention to provide apparatus todetermine positional data associated with an object, compare newpositional data with existing data to determine when positional data isrecorded or transmitted.

Thus in accordance with the present invention there is providedapparatus for optimally recording or transmitting positional data andevents of an object, said apparatus including input means tocontinuously provide positional data to a microprocessor and a memorydevice to store selected positional data wherein the microprocessor isprogrammed to compare new positional data from said input means topreviously recorded log of positional data and creates a new log if thenew positional data differs from the previously recorded log inaccordance with pre-determined parameters. In a preferred embodiment foruse with a vehicle, the input means to continuously provide positionaldata includes a GPS antenna and GPS engine and the positional dataprovided to the microprocessor includes the exact time, position andspeed of the vehicle. No new information is recorded if the velocityvector of the vehicle has not changed. The velocity vector is determinedby monitoring the speed and heading of the vehicle. If these do notchange by more than a threshold then no logs are taken. In turn, ifthese elements change rapidly then the logs should be taken morefrequently. Additional events that are of interest are also beingmonitored by other input means, then these could trigger a log even ifthere were no geographical reason to do so.

In another embodiment the present invention provides a system foroptimally recording or transmitting positional data and events of anobject, said system having a processing unit on the object, saidprocessing unit including input means to continuously provide positionaldata to a microprocessor and a memory device to store selectedpositional data wherein the microprocessor is programmed to compares newpositional data from said input means to previously recorded log ofpositional data and creates a new log if the new positional data differsfrom the previously recorded log in accordance with pre-determinedparameters and a base station programmed with software to extract,display, process and analyze the recorded data.

A further aspect of the present invention provides a method foroptimally recording or transmitting positional data and events of anobject to optimize exactly when positional data is recorded ortransmitted to minimize the memory requirements if the data is stored,or minimize time or cost if the data is transmitted and to ensure thatany significant events are captured by continuously providing positionaldata to a microprocessor from input means, said microprocessor comparesnew positional data from said input means to previously recorded log ofpositional data and creates a new log if the new positional data differsfrom the previously recorded log in accordance with pre-determinedparameters.

Further features of the invention will be described or will becomeapparent in the course of the following detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

In order that the invention may be more clearly understood, thepreferred embodiment thereof will now be described in detail by way ofexample, with reference to the accompanying drawings, in which:

FIG. 1 is a schematic illustration of a positional chart of a prior artsystem that logs at positional data for an object at regular time ordistance intervals (prior art).

FIG. 2 is a schematic illustration of one embodiment of apparatusaccording to the present invention for optimally recording ortransmitting geographical position and events.

FIG. 3 is a schematic illustration of a positional chart using theapparatus of FIG. 2 where the positional data for an object has beenoptimally recorded.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring to FIG. 1 a schematic illustration of a positional chart of aprior art system that logs at positional data for an object at regulartime or distance intervals is shown. The actual trip for the object isdesignated by line 1. The system logs positional data at regularintervals 3,4,5 from starting point 2 to end point 6. Connecting points2-6, as shown by line 7, shows the apparent route of the object. Theapparent route 7 does not accurately reflect the actual trip 1.

One embodiment of apparatus for optimally recording or transmittingpositional data and events of an object, preferably a vehicle, accordingto the present invention is generally indicated at 10. The apparatus 10consists of input means 11 to continuously provide positional data to amicroprocessor 12 and memory device 13 to store selected positionaldata. The input means 11 to continuously provide positional datapreferably includes a GPS antenna 14 and conventional GPS engine 15. TheGPS engine 15 delivers the positional data preferably the exact time,position and speed of the object, to microprocessor 12. Microprocessor12 compares the new positional data to the previously recorded log ofpositional data to determine the time that has elapsed since thatprevious log, the change in speed and heading or other input triggersand creates a new log if the information is deemed to be “new andinteresting” in accordance with pre-determined parameters. Thepre-determined parameters preferably include harsh braking, excessivespeed, change in heading at high speed, change in heading at low speed,change in speed, and time since last log. If the differences inpositional data are greater than a pre-determined minimum,microprocessor 12 stores the positional data on memory device 13 forsubsequent download or transmittal. If the differences in positionaldata are not greater than the pre-determined minimum, microprocessor 12does not store the new positional data on memory device 13 therebyoptimizing exactly when positional data is recorded to minimize thememory requirements if the data is stored, to minimize the time or costwhen the data is transmitted and/or to ensure that any significantevents are captured, like a change in direction arising from turning acorner or a large change in speed.

FIG. 3 illustrates a schematic of a positional chart using theembodiment of apparatus for optimally recording or transmittingpositional data and events of an object 1 where the positional data forthe object has been optimally recorded. In this case the actual trip forthe object is designated by line 20. The system logs positional data atstarting point 21, at point 22 where a change in speed is determined,point 13 where a change of direction is determined and end point 14.Connecting points 21-24, as shown by line 25, shows the apparent routeof the object which reflects more accurately the actual trip 20 than theprior art system illustrated in FIG. 1 even though positional data islogged at fewer points.

Microprocessor 12, in an embodiment, is programmed to compare and selectposition data to be recorded as follows: // check valid GPS data againstlogging criteria void ValidGPS(void) { unsigned long lTemp; unsignedchar bDiff;   bInvalidCount = 0;            // reset invalid count  GPS.GPSData.bAux.gps_valid = 1;    // valid flag  GPS.GPSData.bRecordType = GPS_RECORD;// log record type   // storevalid vars   lValidDate = GPS.GPSData.lDateTime;   lValidLat.full =GPS.GPSData.lLat.full;   lValidLong.full = GPS.GPSData.lLong.full;   //accident data check   if (GPS.GPSData.bSpeed > bMinAccSpeed)    bMemFlags.save_acc = 1;   if (bFlags3.valid_gps_restart)   {     if(bHarshBrake != 0)     {      if (bValidSpeed > GPS.GPSData.bSpeed)     {       bDiff = bValidSpeed − GPS.GPSData.bSpeed;       if (bDiff>bHarshBrake)       {        GPS.GPSData.bLogReason = LOG_HARSH_BRAKE; //speeding start        bMemFlags.save_log = 1;       }      }     }     }    bValidSpeed = GPS.GPSData.bSpeed;     bFlags3.valid_gps_restart = 1;    // check log next valid flag - set on ign     if(bFlags3.log_next_valid)     {      if (bOptions0.beep_on_log ∥bFlags3.debug)      {       BUZZER_ON;       Delay10KTCYx(250);      Delay10KTCYx(250);      }      bFlags3.log_next_valid = 0;     GPS.GPSData.bLogReason = LOG_NEXT; // log first valid afterign     bMemFlags.save_log = 1;      return;     }     // if harsh brakingoccurred above then exit     if (bMemFlags.save_log)      return;     if(bOptions0.speeding)     {      // if not speeding      if(!bFlags2.speeding)      {       // and speeding occurs       if(GPS.GPSData.bSpeed > bSpeedingSpeed)       {        // start indicatorand log        bFlags2.speeding = 1;        GPS.GPSData.bLogReason =LOG_SPEEDING_START;  // speeding start        bMemFlags.save_log = 1;       return;       }      }      // else if speeding      else      {      // and get to reset speed       if (GPS.GPSData.bSpeed <=bResetSpeed)       {        BUZZER_OFF;   // just in case        // stopindicator and log        bFlags2.speeding = 0;       GPS.GPSData.bLogReason = LOG_SPEEDING_STOP;  // speeding stopped       bMemFlags.save_log = 1;        return;       }      }     }    // change in heading at hi speed     if (GPS.GPSData.bSpeed >bHiDeltaHeadMinSpeed)     {      if ((GPS.GPSData.bHeading < 37) &&     (bLastHeading > 113))      {       bDiff = GPS.GPSData.bHeading +(150 − bLastHeading);      }      else if ((bLastHeading < 37) &&     (GPS.GPSData.bHeading > 113))      {       bDiff = bLastHeading +(150 − GPS.GPSData.bHeading);      }      else if(GPS.GPSData.bHeading > bLastHeading)      {       bDiff =GPS.GPSData.bHeading − bLastHeading;      }      else      {       bDiff= bLastHeading − GPS.GPSData.bHeading;      }      if (bDiff >bHiDeltaHead)      {       GPS.GPSData.bLogReason = LOG_HEADING;  //change in heading       bMemFlags.save_log = 1;       return;      }    }     // change in heading at low speed     else if(GPS.GPSData.bSpeed > bDeltaHeadingMinSpeed)     {      if((GPS.GPSData.bHeading < 37) &&      (bLastHeading > 113))      {      bDiff = GPS.GPSData.bHeading + (150 − bLastHeading);      }     else if ((bLastHeading < 37) &&      (GPS.GPSData.bHeading > 113))     {       bDiff = bLastHeading + (150 − GPS.GPSData.bHeading);      }     else if (GPS.GPSData.bHeading > bLastHeading)      {       bDiff =GPS.GPSData.bHeading − bLastHeading;      }      else      {       bDiff= bLastHeading − GPS.GPSData.bHeading;      }      if (bDiff >bDeltaHeading)      {       GPS.GPSData.bLogReason = LOG_HEADING;  //change in heading       bMemFlags.save_log = 1;       return;      }    }     // change in speed     if (GPS.GPSData.bSpeed >bDeltaSpeedMinSpeed)     {      if (GPS.GPSData.bSpeed > bLastSpeed)      bDiff=GPS.GPSData.bSpeed − bLastSpeed;      else      bDiff=bLastSpeed − GPS.GPSData.bSpeed;      if (bDiff >bDeltaSpeed)      {       GPS.GPSData.bLogReason = LOG_SPEED; // changein speed       bMemFlags.save_log = 1;       return;      }     }     //time since last log     if (GPS.GPSData.lDateTime − lLastDate >iMinLogTime.full)     {      GPS.GPSData.bLogReason = LOG_TIME;      //time elapsed      bMemFlags.save_log = 1;      return;     }     if(bOptions0.log_valid)     {      GPS.GPSData.bLogReason = LOG_ALL;  //log all valid option set      bMemFlags.save_log = 1;      return;

In an embodiment the microprocessor 12, GPS engine 15 and optionally thememory device 13 to store selected positional data are provided in anin-vehicle processing unit which is in a sealed housing. In lieu of thememory device 13 being included in the vehicle processing unit, aseparate portable memory device (such as memory stick, disc or key canbe provided). Appropriate wiring harness would be provided to easilyconnect the in-vehicle processing unit containing the microprocessor 12,and GPS engine 15 to the vehicle electrics, GPS antenna 14 and otherinputs or outputs including memory device 13.

In another embodiment, the present invention provides a system whichincludes a base station piece programmed with software to extract,display, process and analyze the recorded vehicle data. Where a portablememory device 13 is used in conjunction with the in-vehicle processingunit, data maybe “extracted” from the portable memory device or directlyfrom the vehicle via a wireless connection such as 900 MHz radio orthrough a GSM/GPRS/Internet communication medium or other like methodand transmitted to the base station.

The additional inputs can include an identification key to identifyindividual drivers or vehicles or permit updating or modification of thesoftware in the microprocessor unit 12 to set parameters on which thesystem is customized to compare and log data.

The base station and its software can be used as noted above to viewtrip data on a map, produce activity reports including list of trips,speed profile, auxiliary usage and the like. In addition the softwarecan be customized to set rules for determining when a log point shouldbe recorded by monitoring data such as speed, stop time, auxiliaryuseage or vehicle position relative to prescribed zones such as customerlocations.

Having illustrated and described a preferred embodiment of the inventionand certain possible modifications thereto, it should be apparent tothose of ordinary skill in the art that the invention permits of furthermodification in arrangement and detail. All such modifications arecovered by the scope of the invention.

1. Apparatus for optimally recording or transmitting positional data andevents of an object, said apparatus including input means tocontinuously provide positional data to a microprocessor and a memorydevice to store selected positional data wherein the microprocessor isprogrammed to compares new positional data from said input means topreviously recorded log of positional data and creates a new log if thenew positional data differs from the previously recorded log inaccordance with pre-determined parameters.
 2. Apparatus according toclaim 1 wherein said input means to continuously provide positional dataincludes a GPS antenna and GPS engine and the positional data providedto the microprocessor includes the exact time, position and speed of theobject .
 3. A system for optimally recording or transmitting positionaldata and events of an object, said system having a processing unit onthe object, said processing unit including input means to continuouslyprovide positional data to a microprocessor and a memory device to storeselected positional data wherein the microprocessor is programmed tocompares new positional data from said input means to previouslyrecorded log of positional data and creates a new log if the newpositional data differs from the previously recorded log in accordancewith pre-determined parameters and a base station programmed withsoftware to extract, display, process and analyze the recorded data. 4.A system according to claim 3 wherein data is transmitted from theprocessing unit to the base station by extracting data from the memorydevice by downloading data from a portable memory device or directlyfrom the processing unit via a wireless connection to the base station.5. A method for optimally recording or transmitting positional data andevents of an object to optimize exactly when positional data is recordedor transmitted to minimize the memory requirements if the data isstored, or minimize time or cost if the data is transmitted and toensure that any significant events are captured by continuouslyproviding positional data to a microprocessor from input means, saidmicroprocessor compares new positional data from said input means topreviously recorded log of positional data and creates a new log if thenew positional data differs from the previously recorded log inaccordance with pre-determined parameters.
 6. A method according toclaim 5 wherein said wherein said input means to continuously providepositional data includes a GPS antenna and GPS engine and the positionaldata provided to the microprocessor includes the exact time, positionand speed of the object